#!/bin/bash

# Protocol Buffers 编译脚本
# 用于生成Python代码

set -e

# 检查protoc是否安装
if ! command -v protoc &> /dev/null; then
    echo "错误: protoc 未安装"
    echo "请安装 Protocol Buffers 编译器:"
    echo "  Ubuntu/Debian: sudo apt-get install protobuf-compiler"
    echo "  macOS: brew install protobuf"
    echo "  Windows: 下载预编译二进制文件"
    exit 1
fi

# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"

echo "编译 Protocol Buffers 文件..."
echo "项目根目录: $PROJECT_ROOT"

# 创建输出目录
mkdir -p "$PROJECT_ROOT/src"

# 编译proto文件
protoc \
    --python_out="$PROJECT_ROOT/src" \
    --proto_path="$SCRIPT_DIR" \
    "$SCRIPT_DIR/messages.proto"

echo "✅ 编译完成!"
echo "生成的文件: $PROJECT_ROOT/src/messages_pb2.py"

# 检查生成的文件
if [ -f "$PROJECT_ROOT/src/messages_pb2.py" ]; then
    echo "📊 文件大小: $(wc -l < "$PROJECT_ROOT/src/messages_pb2.py") 行"
    echo "🎯 可以开始使用 Protocol Buffers 了!"
else
    echo "❌ 编译失败，未找到生成的文件"
    exit 1
fi 